package main

import "fmt"

func main() {

	age := 16

	//判断
	if age > 18 {
		fmt.Println("已成年！")
	} else { //else 写在上个{}的后面
		fmt.Println("未成年！")
	}

	//多次判断
	if age > 35 {
		fmt.Println("中年！")
	} else if age > 18 {
		fmt.Println("青年！")
	} else {
		fmt.Println("少年！")
	}

	//switch判断
	n := 60
	switch n {
	case 1:
		fmt.Println("A")
	case 3:
		fmt.Println("C")
	case 5:
		fmt.Println("D")
	default:
		fmt.Println("None")
	}

	//if内定义变量
	if a := 2; a > 3 { //注意a作用域仅限于if内  这样写节省空间
		fmt.Println(">3")
	} else {
		fmt.Println("<=3")
	}

	//for的基本格式
	for i := 0; i < 10; i++ { //for 初始操作 : 循环条件 : 每次循环后进行的操作
		fmt.Println(i)
	}
	//变种1： for ; i<10; i++ { ... }  不做初始操作
	//变种2   for i<10 { ... }		不做初始操作&循环后操作
	//无限循环   for {...}

	s := "hello你好Go语言"
	for i, v := range s {
		fmt.Printf("%d, %c\n", i, v)
	}
	/*
	   4, o
	   5, 你
	   8, 好	//5变成8  因为这个汉字占3byte
	   11, G
	   12, o
	   13, 语
	   16, 言
	*/

	//break 和 continue
	for i := 0; i < 10; i++ {
		if i == 5 {
			break
		}
		fmt.Println(i)
	}

	for i := 0; i < 10; i++ {
		if i == 5 {
			continue
		}
		fmt.Println(i)
	}
}
